import compileToFunction from "./compileToFunction.js"
import mountComponent from "./mountComponent.js"

export default function mount (vm) {
    /* 这里就可以看出 如果使用render的方式 就可以省略创建vnode的部分 */
    if (!vm.$options.render) {
        let tp = ''
        const { template, el } = vm.$options
        if (template) {
            tp = template
        } else if (el) {
            vm.$el = document.querySelector(el)
            tp = vm.$el.outerHTML
        }
        // 将template编译为渲染函数（这个过程其实只在初始化Vue的时候执行）
        vm.$options.render = compileToFunction(tp)
    }
    mountComponent(vm)
}